<!--
 $ @Author: liujiajun 45444154+wo1261931780@users.noreply.github.com
 $ @Date: 2022-06-26 19:03:06
 $ @LastEditors: liujiajun 45444154+wo1261931780@users.noreply.github.com
 $ @LastEditTime: 2022-06-26 19:03:12
 $ @FilePath: \st-ssm.github.io\src\main\java\com\stssm\github\io\javaweb\aaa011JDBC2022年6月26日\aaa042函数.html
 $ @Description: 1111
 $ @
 $ @Copyright (c) 2022 by liujiajun 45444154+wo1261931780@users.noreply.github.com, All Rights Reserved.
 -->
<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8" />
		<meta http-equiv="X-UA-Compatible" content="IE=edge" />
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<title>Document</title>
	</head>
	<body>
		<div>我是函数测试</div>
		<script>
			let res = demo();
			console.log("我是res的结果：" + res);
			let res2 = demoAdd(10, 2);
			console.log("我是res2的结果：" + res2);
			// -------------------------------------------------------
			let res3 = demoAdd(10, 20, 30); // js的语法真是震惊我一年
			// 传递的参数和实际方法定义中拥有的参数是不一样的
			// 就算里面只有两个参数，我也可以一次性调用多个参数
			console.log("我是res3的结果：" + res3);
			// -------------------------------------------------------
			let res4 = demoAdd(10);
			console.log("我是res4的结果：" + res4);
			// 这里又有一点不一样的
			// 如果我函数中的参数是两个，但是我只传递了一个
			// 那么执行过程就是xx+NaN
			// 最终得到的结果是NaN
			// -------------------------------------------------------
			let res5 = demoAdd2(10, 20);
			console.log("我是res5的结果：" + res5);
			// 不一样的地方是：
			// 如果我函数定义了两个参数，但实际上只传递了一个，
			// 那么最后也只会按照顺序进行一个参数的结果返回
			// -------------------------------------------------------

			function demo() {
				console.log("我是函数测试");
				return 1; // 返回什么，直接写结果就可以了
				// 包括函数和变量的返回类型，都不需要额外说明
			}
			function demoAdd(a, b) {
				return a + b;
			}
			function demoAdd2(a) {
				return a;
			}
		</script>
	</body>
</html>
